function globalSuccessCallback(response){
	if (response.result && response.result == "-10"){
		//메뉴 사용권한이 없는경우
		alert("메뉴 사용권한이 없습니다.");
		return false;
	}
	
	return true;
}

//팝업열기
function goPopup(site, popupName, styleParam){

	var style = styleParam == "undefiend" ? "left=200,top=200,height=600,width=500,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,modal=yes" 
			                             : styleParam;

	window.open(site, popupName, style);
} 
		
		
//페이지이동 (네비게이션 페이지링크용)
function page_move(page) {
	jQuery("#page").val(page);
	jQuery("#frm").submit();
}


//금일날짜를 조회해준다.
function getTodayFormat(){
	var currentDate = new Date();
	
	var year	= currentDate.getFullYear();
	var month	= currentDate.getMonth()+1 < 10 ?  "0" + (currentDate.getMonth()+1) : currentDate.getMonth()+1;
	var day		= currentDate.getDate() < 10 ? "0" + currentDate.getDate() : currentDate.getDate();
	
	return (year + "-" + month + "-" + day);
}

//금일의 년을 조회해준다.
function getTodayYearFormat(){
	var currentDate = new Date();
	
	var year	= currentDate.getFullYear();
		
	return year;
}

//금일의 년월을 조회해준다.
function getTodayMonthFormat(){
	var currentDate = new Date();
	
	var month	= currentDate.getMonth()+1 < 10 ?  "0" + (currentDate.getMonth()+1) : currentDate.getMonth()+1;
	
	return month;
}



//현재로부터 days 만큼 과거 날짜를 조회한다.
function getPastFormat(days){
	var pastDate = new Date(new Date() - days*1000*60*60*24);

	var year	= pastDate.getFullYear();
	var month	= pastDate.getMonth()+1 < 10 ?  "0" + (pastDate.getMonth()+1) : pastDate.getMonth()+1;
	var day		= pastDate.getDate() < 10 ? "0" + pastDate.getDate() : pastDate.getDate();   					
	
	return (year + "-" + month + "-" + day);
}



//select box 선택시 다음 레벨에 대한 값을 가져오는 함수
function findNextLevelCode(nextLevelCode, up_comm_tree_cd_value, comm_cd_value, web_root, selectValue){

	jQuery.getJSON( web_root + "/ock/code.do?method=getCodeSubList",
					{up_comm_tree_cd:up_comm_tree_cd_value, comm_cd:comm_cd_value},
					function(response){
						var options = "<option value=''>-- 선택하세요 --</option>";
						for (var i = 0; i < response.result.length; i++) {
							if( selectValue != "" && response.result[i].comm_cd == selectValue)
								options += '<option value="' + response.result[i].comm_cd + '" selected >' + response.result[i].comm_cd_nm + '</option>';
							else
								options += '<option value="' + response.result[i].comm_cd + '">' + response.result[i].comm_cd_nm + '</option>';
						}
						jQuery(nextLevelCode).html(options);
					}
	);
}

//select box를 초기화한다.
function initSelectBox(selectBox){
	jQuery(selectBox).html("<option value=''></option>");
}

//팝업창을 닫아준다.
function closePopup(){
	self.close();
}


//logout 로직
function logout(web_root){
	if (confirm("로그아웃을 하시겠습니까?")) {
		jQuery.ajax({
				//url : web_root + '/ock/sawon.do?method=logoutProcess',
				url : web_root + '/main/main.do?method=logout',
				type : 'post',
				async: false,
				success : function(response){
					window.location.href = web_root + "/main/main.do?method=login";
				}	
		});			
	}
}

//전화상태를 변경한다.
function setLuxsysState(extension, paused, web_root){		
	jQuery.ajax({
		url : web_root + '/counsel/counsel.do?method=setLuxsysState',
		type : 'post',
		async : 'false',
		data : 'extension=' + extension + '&paused=' + paused ,		 
		success : function(response){
			var msg = "";

			//메세지를 생성한다.
			if(response.result == "0")
				msg = "상담대기중으로";
			else if(response.result == "1")
				msg = "후처리중으로";
			else if(response.result == "2")
				msg = "휴식중으로";
			else if(response.result == "3")
				msg = "로그아웃 상태로";
			else if(response.result == "4")
				msg = "식사 시간중 상태로";
			else if(response.result == "5")
				msg = "문서 수발신 상태로";
			else
				msg = "이런상태 없다.";
			
			alert( msg + " 변경되었습니다");
		}
	});
}


//전화를 건다.
function click2Dial(extension, tel, web_root){
	jQuery.ajax({
		url : web_root + '/counsel/counsel.do?method=click2Dial',
		type : 'post',
		async : 'false',
		data : 'extension=' + replaceAll(extension, '-', '') + '&tel=' + replaceAll(tel, '-', ''),			 
		success : function(response){
			//alert("정상적으로 변경되었습니다");
		}
	});
}


//폼값을 숫자만 입력받도록한다.
function onlyNumber(obj) {
	if(/[^0123456789]/g.test(jQuery(obj).val())) {
		alert("숫자가 아닙니다.\n\n0-9의 정수만 허용합니다.");
		jQuery(obj).val("");
		jQuery(obj).focus();
	}
}

//replace all
function replaceAll(str, searchStr, replaceStr){
	while(str.indexOf(searchStr) != -1){
		str = str.replace(searchStr, replaceStr);
	}
	return str;
}

//div를 감춘다.
function hideDiv(obj){
	jQuery(obj).hide();
}

//div를 보여준다.
function showDiv(obj){
	jQuery(obj).show();
}

/**
* 한글을 2바이트 씩 계산하여 입력받은 문자열이 DB에 저장될 때 총 몇바이트를 차지하는지 계산한다.
* 엔터(\r\n)는 2바이트를 차지한다.
* @param val : 입력받은 문자열
*/
function cal_length(val){
	// 입력받은 문자열을 escape() 를 이용하여 변환한다.
	// 변환한 문자열 중 유니코드(한글 등)는 공통적으로 %uxxxx로 변환된다.
	var temp_estr = escape(val);
	var s_index = 0;
	var e_index = 0;
	var temp_str = "";
	var cnt = 0;

	// 문자열 중에서 유니코드를 찾아 제거하면서 갯수를 센다.
	// 제거할 문자열이 존재한다면
	while ((e_index = temp_estr.indexOf("%u", s_index)) >= 0){
		temp_str += temp_estr.substring(s_index, e_index);
		s_index = e_index + 6;
		cnt ++;
	}

	temp_str += temp_estr.substring(s_index);

	temp_str = unescape(temp_str); // 원래 문자열로 바꾼다.

	// 유니코드는 2바이트 씩 계산하고 나머지는 1바이트씩 계산한다.
	return ((cnt * 2) + temp_str.length) + "";
}

//check Byte
//sms 전송에 맞는문자열의 길이를 판단
//param : 문자열을 체크할 obj, 넘는지 체크할 byte
//
function checkSmsByte(obj, byte, event){
	
	if( cal_length(jQuery(obj).val()) > byte){
		alert(byte + "byte를 초과하였습니다.");
		
		var cutSms = jQuery(obj).val();
				
		jQuery(obj).val( cutStringByByte(byte, cutSms) );
	} ;
}


/** 
 * string String::cut(int len)
 * 글자를 앞에서부터 원하는 바이트만큼 잘라 리턴합니다.
 * 한글의 경우 2바이트로 계산하며, 글자 중간에서 잘리지 않습니다.
 */
function cutStringByByte(len, str) {
     var l = 0;
     for (var i = 0; i < str.length; i++) {
         l += (str.charCodeAt(i) > 128) ? 2 : 1;
         if (l > len) return str.substring(0,i);
     }
     return str;
 }


//해당 오브젝트의 배경색 변경 
function changeBackground(obj, color){
	jQuery(obj).css("backgroundColor", color);
}